/*
 * FootsDriver.h
 *
 *  Created on: 14/lug/2011
 *      Author: marcolembo
 */

#ifndef FOOTSWITCHDRIVER_H_
#define FOOTSWITCHDRIVER_H_

#include "Driver.h"
#include "Multiplexer.h"

namespace ml
{

    //Dopo aver allocato il Manager

    class FootsDriver: public Driver
    {
        public:

            static FootsDriver* GetInstance(short _s0,
                                            short _s1,
                                            short _s2,
                                            short _z
                                           );

            //number -> [1, 8]
            short ReadFootStatus(short number);

            virtual
            ~FootsDriver();

        private:

            Multiplexer *m_mux;

            //singleton
            static FootsDriver* s_instance;
            FootsDriver(short _s0,
                        short _s1,
                        short _s2,
                        short _z);

    };

}

#endif /* MIDIFOOTSWITCHMANAGER_H_ */
